#include <REGX52.H>
#include "Delay.h"


/**
  * @brief   按下按钮返回对应的键码值
  * @param   无
  * @retval  按下按钮的键码值
  */
unsigned char ButtonDown()
{
	unsigned char Key=0;
	
	//先列扫描，再检测行
	P1=0xFF;   //初始化
	P1_3=0;    //第一列
	if(P1_7 == 0){Delay(20);while(P1_7 == 0);Delay(20);Key=1;}
	if(P1_6 == 0){Delay(20);while(P1_6 == 0);Delay(20);Key=5;}
	if(P1_5 == 0){Delay(20);while(P1_5 == 0);Delay(20);Key=9;}
	if(P1_4 == 0){Delay(20);while(P1_4 == 0);Delay(20);Key=13;}
	
	P1=0xFF;   //初始化
	P1_2=0;    //第二列
	if(P1_7 == 0){Delay(20);while(P1_7 == 0);Delay(20);Key=2;}
	if(P1_6 == 0){Delay(20);while(P1_6 == 0);Delay(20);Key=6;}
	if(P1_5 == 0){Delay(20);while(P1_5 == 0);Delay(20);Key=10;}
	if(P1_4 == 0){Delay(20);while(P1_4 == 0);Delay(20);Key=14;}
	
	P1=0xFF;  
	P1_1=0;    
	if(P1_7 == 0){Delay(20);while(P1_7 == 0);Delay(20);Key=3;}
	if(P1_6 == 0){Delay(20);while(P1_6 == 0);Delay(20);Key=7;}
	if(P1_5 == 0){Delay(20);while(P1_5 == 0);Delay(20);Key=11;}
	if(P1_4 == 0){Delay(20);while(P1_4 == 0);Delay(20);Key=15;}	
	
	P1=0xFF;  
	P1_0=0;   
	if(P1_7 == 0){Delay(20);while(P1_7 == 0);Delay(20);Key=4;}
	if(P1_6 == 0){Delay(20);while(P1_6 == 0);Delay(20);Key=8;}
	if(P1_5 == 0){Delay(20);while(P1_5 == 0);Delay(20);Key=12;}
	if(P1_4 == 0){Delay(20);while(P1_4 == 0);Delay(20);Key=16;}	
	
	return Key;
}